package com.zaimokuza.cn.service;

import com.zaimokuza.cn.entity.PageResult;
import com.zaimokuza.cn.entity.blog.Classification;

import java.util.ArrayList;

/**
 * @author zaimokuza
 */
public interface ClassificationService {

    /**
     * 添加分类
     *
     * @param classification 分类信息
     */
    void addClassification(Classification classification);

    /**
     * 更新分类
     *
     * @param classification 分类信息
     */
    void updateClassification(Classification classification);

    /**
     * 用户根据ID删除分类
     *
     * @param id     分类ID
     * @param userId 用户ID
     */
    void deleteClassificationForUser(String id, String userId);

    /**
     * 根据ID删除分类
     *
     * @param id 分类ID
     */
    void deleteClassification(String id);

    /**
     * 根据用户ID查询分类集合
     *
     * @param userId 用户ID
     * @return 用户分类集合
     */
    ArrayList<Classification> getClassificationListByUserId(String userId);

    /**
     * 根据用户域名查询分类集合
     *
     * @param userDomain 用户域名
     * @return 用户分类集合
     */
    ArrayList<Classification> getClassificationListByUserDomain(String userDomain);

    /**
     * 根据用户ID查询分类集合
     *
     * @param name     分类名称
     * @param userName 用户名称
     * @param page     当前页
     * @param size     每页条数
     * @return 分类分页集合
     */
    PageResult<Classification> getClassificationPage(String name, String userName, Integer page, Integer size);

}
